Управление ролями менеджеров
RoleManager
Управление ролями менеджеров.
class yandex_b2b_go.role.RoleManager
Методы
- list — получает список ролей менеджеров подразделения.
- create — выдает роль менеджеру подразделения.
- update — обновляет роль менеджеру подразделения.
- delete — удаляет существующую роль менеджера подразделения.
List
Получает список ролей менеджеров подразделения.
async def list(
roles: Optional[List[Role]] = None,
department_id: Optional[str] = None,
limit: Optional[int] = None,
cursor: Optional[str] = None
) -> ManagersListResponse
Параметры
department_id
— идентификатор департамента.roles
— список ролей, которые нужно вывести. Список классаRole
(ссылка на typing.Role)limit
— количество выводимых записей. Значение от 1 до 100. При отсутствии данного параметра возвращается информация о первых 10 записях.cursor
— отметка запроса (возвращается в теле ответа на предыдущий запрос). Для запроса первой страницы параметр указывать не нужно, для запросов последующих страниц — обязательно.
В случае успешного выполнения возвращает класс ManagersListResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import RoleManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
role_manager = RoleManager(client=client)
try:
roles = await role_manager.list(
limit=20,
roles=[typing.Role.department_manager, typing.Role.department_secretary],
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Create
Выдает роль менеджеру подразделения. Роли, которые могут быть выданы пользователю, можно посмотреть в его Личном кабинете.
async def create(manager: Manager) -> ManagerResponse
Параметр
manager
— информация о роли менеджера. Класс Manager.
В случае успешного выполнения возвращает класс ManagerResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import RoleManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
role_manager = RoleManager(client=client)
try:
manager = typing.Manager(
yandex_login='sample_yandex_login',
role=typing.Role.department_manager,
department_id='3648...396b',
phone='+799900000000',
email='sample_email@example.com',
fullname='Иванов Илья',
)
role_id = await role_manager.create(manager=manager)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Update
Обновляет роль менеджеру подразделения. Роли, которые могут быть выданы пользователю, можно посмотреть в его Личном кабинете.
async def update(
manager_id: str,
manager: Manager
) -> ManagerResponse
Параметры
manager_id
— идентификатор менеджера подразделения, для которого обновляется роль.manager
— информация о роли менеджера. Класс Manager.
В случае успешного выполнения возвращает класс ManagerResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import RoleManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
role_manager = RoleManager(client=client)
try:
manager = typing.Manager(
yandex_login='sample_yandex_login',
role=typing.Role.department_manager,
department_id='3648...396b',
phone='+799900000000',
email='sample_email@example.com',
fullname='Иванов Илья',
)
role_id = await role_manager.update(
manager=manager,
manager_id='07e4...b2f4',
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Delete
Удаляет существующую роль менеджера подразделения.
async def delete(manager_id: str) -> ManagerResponse
Параметр
manager_id
— идентификатор менеджера подразделения, для которого обновляется роль.
В случае успешного выполнения возвращает класс ManagerResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import RoleManager
from yandex_b2b_go import errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
role_manager = RoleManager(client=client)
try:
role_id = await role_manager.delete(
manager_id='07e4...b2f4',
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())